🎖️GitЯра🎖️
Commit ab4589c06a849743268f926bbe52723c833add3d
Parents : fcf0b50
Author : James Rich <2199651+jamesarich@users.noreply.github.com>
Signature : Signature validation error
Date : 2026-05-12T10:17:05-05:00
Committer : GitHub <noreply@github.com>
Date : 2026-05-12T10:17:05-05:00
fix(desktop): keep Vico package to prevent bytecode verification errors (#5424)
Changes
Diff
diff --git a/desktop/proguard-rules.pro b/desktop/proguard-rules.pro
index 2615e7c930..6e0ceb6fbd 100644
--- a/desktop/proguard-rules.pro
+++ b/desktop/proguard-rules.pro
@@ -59,8 +59,17 @@
-dontwarn android.os.Parcelable
-dontwarn android.os.Parcelable$*
-# Vico's ColorScale* classes call into skia-shader bridges that aren't on the
-# desktop ProGuard classpath. Vico ships no consumer rules.
+# Vico ships no consumer ProGuard rules. Without explicit keeps, ProGuard's
+# shrinker may remove "redundant" direct super-interfaces from class implements
+# lists (e.g. MeasuringContext from MutableCartesianMeasuringContext, since
+# CartesianMeasuringContext already extends it). This makes Kotlin-generated
+# invokespecial calls to interface default methods target an indirect
+# superinterface, which the JVM bytecode verifier rejects with:
+# "Bad invokespecial instruction: interface method reference is in an
+# indirect superinterface."
+# Keep the entire Vico package to prevent hierarchy restructuring.
+-keep class com.patrykandpatrick.vico.** { *; }
+-keep interface com.patrykandpatrick.vico.** { *; }
-dontwarn com.patrykandpatrick.vico.compose.cartesian.ColorScaleShader
-dontwarn com.patrykandpatrick.vico.compose.cartesian.layer.ColorScaleAreaFill
-dontwarn com.patrykandpatrick.vico.compose.cartesian.layer.ColorScaleLineFill
Served by rngit 1.5.0 - Generated in 0.04s